#ifndef B2D_WIN32FILESYSTEM_H
#define B2D_WIN32FILESYSTEM_H

#include "IFileSystem.h"

NS_B2D_BEGIN

////////////////////////////////////////////////////////////////////////////////////////////////////
/// \brief	Win32 platform implementation of the filesystem.
////////////////////////////////////////////////////////////////////////////////////////////////////
class B2D_API Win32FileSystem final
	: public IFileSystem
{
public:
	Win32FileSystem(void);
	~Win32FileSystem(void);

	// ::IFileSystem methods
	StreamPtr getStream(const string& path) const;
	bool fileExists(const string& path) const;
	bool getListOfFiles(std::vector<string>& output, const string& path, bool recursive = false) const;
	string getFileExtension(const string& path) const;
};

NS_B2D_END

#endif